package com.ruoyi.ebike.domain;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import net.sf.jsqlparser.expression.DateTimeLiteralExpression;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 骑行记录对象 orders
 * 
 * @author ruoyi
 * @date 2025-01-02
 */
public class Orders extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单编号 */
    private Long id;

    /** 电话号 */
    @Excel(name = "电话号")
    private String phoneNumber;

    /** 车辆编号 */
    @Excel(name = "车辆编号")
    private Long vehicleId;

    /** 支付状态 */
    @Excel(name = "支付状态")
    private Integer paymentStatus;

    /** 骑行开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "骑行开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdTime;

    /** 骑行时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "骑行结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;

    /** 骑行距离 */
    @Excel(name = "骑行距离")
    private BigDecimal ridingDistance;

    /** 骑行费用 */
    @Excel(name = "骑行费用")
    private BigDecimal ridingFee;

    /** 骑行轨迹 */
    @Excel(name = "骑行轨迹")
    private String ridingTrack;

    /** 本金抵扣 */
    @Excel(name = "本金抵扣")
    private BigDecimal balanceDiscount;

    /** 礼品卡抵扣 */
    @Excel(name = "礼品卡抵扣")
    private BigDecimal principalDiscount;

    /** 计费规则 */
    @Excel(name = "计费规则")
    private Long ruleId;

    /** 数据权限 */
    @Excel(name = "数据权限")
    private Long deptId;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime chargingTime;

    public Integer getRidingDuration() {
        return ridingDuration;
    }

    public void setRidingDuration(Integer ridingDuration) {
        this.ridingDuration = ridingDuration;
    }

    private Integer ridingDuration;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPhoneNumber(String phoneNumber) 
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber() 
    {
        return phoneNumber;
    }
    public void setVehicleId(Long vehicleId) 
    {
        this.vehicleId = vehicleId;
    }

    public Long getVehicleId() 
    {
        return vehicleId;
    }
    public void setPaymentStatus(Integer paymentStatus) 
    {
        this.paymentStatus = paymentStatus;
    }

    public Integer getPaymentStatus() 
    {
        return paymentStatus;
    }
    public void setCreatedTime(LocalDateTime createdTime)
    {
        this.createdTime = createdTime;
    }

    public LocalDateTime getCreatedTime()
    {
        return createdTime;
    }
    public void setEndTime(LocalDateTime endTime)
    {
        this.endTime = endTime;
    }

    public LocalDateTime getEndTime()
    {
        return endTime;
    }
    public void setRidingDistance(BigDecimal ridingDistance) 
    {
        this.ridingDistance = ridingDistance;
    }

    public BigDecimal getRidingDistance() 
    {
        return ridingDistance;
    }
    public void setRidingFee(BigDecimal ridingFee) 
    {
        this.ridingFee = ridingFee;
    }

    public BigDecimal getRidingFee() 
    {
        return ridingFee;
    }
    public void setRidingTrack(String ridingTrack) 
    {
        this.ridingTrack = ridingTrack;
    }

    public String getRidingTrack() 
    {
        return ridingTrack;
    }
    public void setBalanceDiscount(BigDecimal balanceDiscount) 
    {
        this.balanceDiscount = balanceDiscount;
    }

    public BigDecimal getBalanceDiscount() 
    {
        return balanceDiscount;
    }
    public void setPrincipalDiscount(BigDecimal principalDiscount) 
    {
        this.principalDiscount = principalDiscount;
    }

    public BigDecimal getPrincipalDiscount() 
    {
        return principalDiscount;
    }
    public void setRuleId(Long ruleId) 
    {
        this.ruleId = ruleId;
    }

    public Long getRuleId() 
    {
        return ruleId;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setChargingTime(LocalDateTime chargingTime)
    {
        this.chargingTime = chargingTime;
    }

    public LocalDateTime getChargingTime()
    {
        return chargingTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("phoneNumber", getPhoneNumber())
            .append("vehicleId", getVehicleId())
            .append("paymentStatus", getPaymentStatus())
            .append("createdTime", getCreatedTime())
            .append("endTime", getEndTime())
            .append("ridingDistance", getRidingDistance())
            .append("ridingFee", getRidingFee())
            .append("ridingTrack", getRidingTrack())
            .append("balanceDiscount", getBalanceDiscount())
            .append("principalDiscount", getPrincipalDiscount())
            .append("ruleId", getRuleId())
            .append("deptId", getDeptId())
            .append("chargingTime", getChargingTime())
            .toString();
    }
}
